cssshadows: Fix extents computation
authorBenjamin Otte <otte@redhat.com>
Wed, 30 Nov 2016 22:52:54 +0000 (23:52 +0100)
committerBenjamin Otte <otte@redhat.com>
Wed, 30 Nov 2016 22:54:49 +0000 (23:54 +0100)
Someody busted this code a *lot*.

gtk/gtkcssshadowsvalue.c

index 18381553ac92719a35443eef60284105ed8d61ed..1726c8b58b5366b12852bb4e2547c43815a18fd3 100644 (file)
@@ -361,8 +361,6 @@ _gtk_css_shadows_value_get_extents (const GtkCssValue *shadows,
 
   g_return_if_fail (shadows->class == &GTK_CSS_VALUE_SHADOWS);
 
-  *border = b;
-
   for (i = 0; i < shadows->len; i++)
     {
       shadow = shadows->values[i];
@@ -373,5 +371,10 @@ _gtk_css_shadows_value_get_extents (const GtkCssValue *shadows,
       gtk_css_shadow_value_get_extents (shadow, &sb);
 
       b.top = MAX (b.top, sb.top);
+      b.right = MAX (b.right, sb.right);
+      b.bottom = MAX (b.bottom, sb.bottom);
+      b.left = MAX (b.left, sb.left);
     }
+
+  *border = b;
 }